#ifndef __losor_fact_h__
#define __losor_fact_h__

#include <inttype.h>
#include <list.h>

/*
enum pred
{
	PRED_EQUAL,
	PRED_IS,
	PRED_CONTAIN,
	PRED_SO,
};
*/

struct fact
{
	uint64 uuid;
	uint64 vhash;
	/* subject/object list, 
	   format: count|predicate|subject|object|object|...
	   count-2 object */
	uint64 *container;
	int ref;
	void *attach; /* reserved */
};

struct task
{
	int64 uuid;
	void *procedure;
	void *source;
	void *request;
};

extern fact *fact_store;
extern long nfact_store;


#endif /* __losor_fact_h__ */

